﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using AutoR.Services;
using Prism.Mvvm;

namespace AutoR.Models
{
	// Token: 0x020001EA RID: 490
	public class UserEquipment : BindableBase
	{
		// Token: 0x1700030E RID: 782
		// (get) Token: 0x06000ABD RID: 2749 RVA: 0x0006C828 File Offset: 0x0006AA28
		// (set) Token: 0x06000ABE RID: 2750 RVA: 0x0006C830 File Offset: 0x0006AA30
		public int equipmentCid
		{
			[CompilerGenerated]
			get
			{
				return this.<equipmentCid>k__BackingField;
			}
			[CompilerGenerated]
			set
			{
				if (this.<equipmentCid>k__BackingField == value)
				{
					return;
				}
				this.<equipmentCid>k__BackingField = value;
				this.OnPropertyChanged(<>PropertyChangedEventArgs.Config);
				this.OnPropertyChanged(<>PropertyChangedEventArgs.Name);
				this.OnPropertyChanged(<>PropertyChangedEventArgs.Image);
				this.OnPropertyChanged(<>PropertyChangedEventArgs.Type);
				this.OnPropertyChanged(<>PropertyChangedEventArgs.Star);
				this.OnPropertyChanged(<>PropertyChangedEventArgs.ShipType);
				this.OnPropertyChanged(<>PropertyChangedEventArgs.equipmentCid);
			}
		}

		// Token: 0x1700030F RID: 783
		// (get) Token: 0x06000ABF RID: 2751 RVA: 0x0006C89F File Offset: 0x0006AA9F
		// (set) Token: 0x06000AC0 RID: 2752 RVA: 0x0006C8A8 File Offset: 0x0006AAA8
		public int locked
		{
			[CompilerGenerated]
			get
			{
				return this.<locked>k__BackingField;
			}
			[CompilerGenerated]
			set
			{
				if (this.<locked>k__BackingField == value)
				{
					return;
				}
				this.<locked>k__BackingField = value;
				this.OnPropertyChanged(<>PropertyChangedEventArgs.locked);
			}
		}

		// Token: 0x17000310 RID: 784
		// (get) Token: 0x06000AC1 RID: 2753 RVA: 0x0006C8D5 File Offset: 0x0006AAD5
		// (set) Token: 0x06000AC2 RID: 2754 RVA: 0x0006C8E0 File Offset: 0x0006AAE0
		public int num
		{
			[CompilerGenerated]
			get
			{
				return this.<num>k__BackingField;
			}
			[CompilerGenerated]
			set
			{
				if (this.<num>k__BackingField == value)
				{
					return;
				}
				this.<num>k__BackingField = value;
				this.OnPropertyChanged(<>PropertyChangedEventArgs.num);
			}
		}

		// Token: 0x17000311 RID: 785
		// (get) Token: 0x06000AC3 RID: 2755 RVA: 0x0006C90D File Offset: 0x0006AB0D
		private EquipmentConfig Config
		{
			get
			{
				return Runtime.Configs.shipEquipment.SingleOrDefault((EquipmentConfig i) => i.cid == this.equipmentCid);
			}
		}

		// Token: 0x17000312 RID: 786
		// (get) Token: 0x06000AC4 RID: 2756 RVA: 0x0006C92A File Offset: 0x0006AB2A
		public string Name
		{
			get
			{
				return this.Config.title;
			}
		}

		// Token: 0x17000313 RID: 787
		// (get) Token: 0x06000AC5 RID: 2757 RVA: 0x0006C937 File Offset: 0x0006AB37
		public string Image
		{
			get
			{
				return this.Config.Image;
			}
		}

		// Token: 0x17000314 RID: 788
		// (get) Token: 0x06000AC6 RID: 2758 RVA: 0x0006C944 File Offset: 0x0006AB44
		public EquipmentType Type
		{
			get
			{
				return this.Config.type;
			}
		}

		// Token: 0x17000315 RID: 789
		// (get) Token: 0x06000AC7 RID: 2759 RVA: 0x0006C951 File Offset: 0x0006AB51
		public int Star
		{
			get
			{
				return this.Config.star;
			}
		}

		// Token: 0x17000316 RID: 790
		// (get) Token: 0x06000AC8 RID: 2760 RVA: 0x0006C95E File Offset: 0x0006AB5E
		public ShipType[] ShipType
		{
			get
			{
				return this.Config.shipType;
			}
		}

		// Token: 0x17000317 RID: 791
		// (get) Token: 0x06000AC9 RID: 2761 RVA: 0x0006C96B File Offset: 0x0006AB6B
		// (set) Token: 0x06000ACA RID: 2762 RVA: 0x0006C974 File Offset: 0x0006AB74
		public List<int> ShipEquips
		{
			[CompilerGenerated]
			get
			{
				return this.<ShipEquips>k__BackingField;
			}
			[CompilerGenerated]
			set
			{
				if (object.Equals(this.<ShipEquips>k__BackingField, value))
				{
					return;
				}
				this.<ShipEquips>k__BackingField = value;
				this.OnPropertyChanged(<>PropertyChangedEventArgs.ShipEquips);
			}
		}

		// Token: 0x06000ACB RID: 2763 RVA: 0x0006C9A4 File Offset: 0x0006ABA4
		public UserEquipment()
		{
			this.<ShipEquips>k__BackingField = new List<int>();
			base..ctor();
		}
	}
}
